$.extend($.fn.form.defaults, {
	onBeforeLoad : function(param) {
		$.mask();
	},
	onLoadSuccess : function(data) {
		$.unmask();
	}
});
$.extend($.fn.pagination.defaults, {
	links : 5,
	layout : [ 'list', 'sep', 'first', 'prev', 'links', 'next', 'last', 'sep', 'refresh', 'info' ]
});
$.extend($.fn.datagrid.defaults, {
	loadMsg : COMMON_CONFIGS.LOAD_MSG,
	fit : true,
	border : false,
	singleSelect : true,
	rownumbers : true,
	pageList : [ 10, 50, 100, 500, 1000 ],
	loadFilter : function(data) {
		if ($.isArray(data)) {
			return {
				total : data.length,
				rows : data
			};
		} else {
			return {
				total : data.total,
				rows : data.list
			};
		}
	}
});
$.extend($.fn.tabs.defaults, {
	tabHeight : COMMON_CONFIGS.EASYUI_HEIGHT - 1,
	fit : true
});
$.extend($.fn.edatagrid.defaults, {
	editorHeight : COMMON_CONFIGS.EASYUI_HEIGHT,
	loadMsg : COMMON_CONFIGS.LOAD_MSG,
	fit : true,
	border : false,
	singleSelect : true,
	rownumbers : true
});
$.extend($.fn.datalist.defaults, {
	loadMsg : COMMON_CONFIGS.LOAD_MSG,
	fit : true,
	border : false,
});
$.extend($.fn.tree.defaults, {
	cascadeCheck : false,
	loadFilter : $.toTree
});
$.extend($.fn.treegrid.defaults, {
	loadMsg : COMMON_CONFIGS.LOAD_MSG,
	fit : true,
	border : false,
	singleSelect : true,
	rownumbers : true,
	loadFilter : $.toTree,
	onLoadSuccess : function(row, data) {
		$(this).treegrid('collapseAll');
	},
});
$.extend($.fn.layout.defaults, {
	fit : true
});
$.extend($.fn.textbox.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION
});
$.extend($.fn.passwordbox.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION
});
$.extend($.fn.numberspinner.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION
});
$.extend($.fn.datebox.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION,
	icons : [ {
		iconCls : "icon-clear",
		handler : function(e) {
			$(e.data.target).datebox('clear');
		}
	} ]
});
$.extend($.fn.datetimebox.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION,
	icons : [ {
		iconCls : "icon-clear",
		handler : function(e) {
			$(e.data.target).datetimebox('clear');
		}
	} ]
});
$.extend($.fn.filebox.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION,
	buttonText : '选择文件'
});
$.extend($.fn.combobox.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION,
	limitToList : true,
	icons : [ {
		iconCls : "icon-clear",
		handler : function(e) {
			$(e.data.target).combobox('clear');
		}
	} ],
	onShowPanel : function() {
		var v = $(this).combobox('panel')[0].childElementCount;
		if (v <= 5) {
			$(this).combobox('panel').height("auto");
		} else {
			$(this).combobox('panel').height(150);
		}
	},
	formatter : function(row) {
		var opts = $(this).combobox('options');
		return row[opts.valueField] + " | " + row[opts.textField];
	},
	filter : function(q, row) {
		var opts = $(this).combobox('options');
		return row[opts.valueField].indexOf(q) == 0;
	}
});
$.extend($.fn.combotree.defaults, {
	width : COMMON_CONFIGS.EASYUI_WIDTH,
	height : COMMON_CONFIGS.EASYUI_HEIGHT,
	tipPosition : COMMON_CONFIGS.EASYUI_POSITION,
	cascadeCheck : false,
	panelHeight : 150,
	loadFilter : $.toTree,
	icons : [ {
		iconCls : "icon-clear",
		handler : function(e) {
			$(e.data.target).combotree('clear');
		}
	} ],
	onLoadSuccess : function(row, data) {
		$(this).tree('collapseAll');
	},
	onChange : function(newValue, oldValue) {
		if (newValue == "-1") {
			$(this).combotree('clear');
		}
	}
});
$.extend($.fn.combotree.methods, {
	isChildren : function(self, id) {
		var pid = $(self).combotree("getValue");
		var tree = $(self).combotree('tree');
		var node = tree.tree('find', id);
		var flag = false;
		if (node) {
			var data = tree.tree("getChildren", node.target);
			for ( var i in data) {
				if (data[i].id == pid) {
					flag = true;
					break;
				}
			}
		}
		return id == pid || flag;
	}
});
$.extend($.fn.tree.methods, {
	getCheckedId : function(self) {
		var node = $(self).tree("getChecked");
		var id = [];
		for ( var i in node) {
			id.push(node[i].id);
		}
		return id;
	}
});
$.extend($.fn.filebox.methods, {
	getFileId : function(self) {
		var file = $(self).next().children("[type='file']");
		return file.attr("id");
	}
});
$.extend($.fn.validatebox.defaults.rules, {
	equals : {
		validator : function(value, param) {
			return $(param[0]).val() == value;
		},
		message : '两次填写不一致'
	},
	minLength : {
		validator : function(value, param) {
			return value.length >= param[0];
		},
		message : '最少输入{0}个字符'
	},
	maxLength : {
		validator : function(value, param) {
			return value.length <= param[0];
		},
		message : '最多输入{0}个字符'
	},
	phone : {
		validator : function(value) {
			var rex = /^1[3-8]+\d{9}$/;
			return rex.test(value);
		},
		message : '手机号码格式不正确'
	},
	idcard : {
		validator : function(value) {
			var rex = /(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)/;
			return rex.test(value);
		},
		message : '身份证号格式不正确'
	},
	number : {
		validator : function(value) {
			var rex = /^\d+(\.\d+)?$/;
			return rex.test(value);
		},
		message : '请输入数字'
	},
	fileSize : {
		validator : function(value, array) {
			var size = array[0];
			var unit = array[1];
			var index = -1;
			var unitArr = new Array("bytes", "kb", "mb", "gb", "tb", "pb", "eb", "zb", "yb");
			for (var i = 0; i < unitArr.length; i++) {
				if (unitArr[i] == unit.toLowerCase()) {
					index = i;
					break;
				}
			}
			if (index == -1) {
				$.error('请指定正确的验证文件大小的单位：["bytes", "kb", "mb", "gb", "tb", "pb", "eb", "zb", "yb"]');
			}
			var formula = 1;
			while (index > 0) {
				formula = formula * 1024;
				index--;
			}
			var upsize = 0;
			for (var i = 0; i < $(this).next().get(0).files.length; i++) {
				upsize += $(this).next().get(0).files[i].size
			}
			return upsize < parseFloat(size) * formula;
		},
		message : '文件大小必须小于 {0}{1}'
	},
	jyhtzl : {
		validator : function(value, param) {
			return parseInt(value) + parseInt($(param[0]).val()) <= parseInt($(param[1]).val());
		},
		message : '不允许大于同合重量'
	},
});
$.extend($.fn.validatebox.defaults.tipOptions, {
	onShow : function() {
		$(this).tooltip('tip').css({
			color : '#ffffff',
			border : 'none',
			padding : '7px 7px',
			backgroundColor : '#747474'
		});
	},
	onPosition : function() {
		$(this).tooltip('tip').css('top', $(this).offset().top + 20);
		$(this).tooltip('arrow').hide();
	}
});